// pages/virtual-try-on.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    user_img_id:'',
    selected_cloth_id:'',
    user_img_src:'',
    final_img_src:'',
    is_loading:false,
    clothes_list:[
      {
        id:'test1',
        src:'../../icon/1.png'
      }
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  selected:function(e){
    const selected_id=e.currentTarget.dataset.id;
    console.log(selected_id);
    this.setData({
      selected_cloth_id:selected_id,
    });
  },
  upload_img:function(){
      const that=this;
      wx.chooseMedia({
        count:1,
        mediaType:['image'],
        sourceType:['album','camera'],
        sizeType:['compressed'],
        success(res){
          console.log("图片选择成功",res);
          const tempfilepath=res.tempFiles[0].tempFilePath;
          that.setData({
            user_img_src:tempfilepath
          });
          wx.showLoading({
            title: '上传中请稍后',
          });
          const cloud_path='user_img/'+Date.now()+'.jpg';
          wx.cloud.uploadFile({
            cloudPath:cloud_path,
            filePath:tempfilepath,
            success(upload_res){
              console.log("云存储上传成功",upload_res);
              that.setData({
              user_img_id:upload_res.fileID
              });
            },
            fail(err){
              wx.showToast({
                title: '云存储上传失败',
                icon:'error',
              })
            },
            complete(){
              wx.hideLoading();
            }
          });
          },
        });
      },
      start_try_on:function(){
        const that=this;
        if(!this.data.user_img_id||!this.data.selected_cloth_id){
          wx.showToast({
            title: '请选择喜欢的衣服或者上传图片',
            icon:'none'
          })
          return;
        }
        const dataToSend = {
          userImageFileID: that.data.user_img_id,
          selectedClothId: that.data.selected_cloth_id
        };
        console.log('前端准备发送:', dataToSend);
        wx.cloud.callFunction({
          name:'virtualTryOn',
          data:{
            user_id:that.data.user_img_id,
            cloth_id:that.data.selected_cloth_id
          },
          success(res){
            if(res.result&&res.result.success){
            const result_id=res.result.result_file_id;
            wx.cloud.getTempFileURL({
              fileList:[result_id],
              success(file_res){
                that.setData({
                  final_img_src:file_res.fileList[0].tempURL
                });
              },
              fail(err){
                wx.showToast({
                  title: '结果加载失败',
                  icon:'none'
                });
              }
            })
          }else{
            wx.showToast({
              title: 'ai处理失败'+(res.result?res.result.error:'未知错误'),
              icon:'none'
            });
          }
          },
          fail(err){
            wx.showToast({
              title: '后端请求失败',
              icon:'error'
            });
          },
          complete(){
            wx.hideLoading();
          }
        })
      }
    })